The present invention claims priority from Japanese Patent Application No. 10 052265 filed Mar. 4, 1998, the contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a network management system for operating physical managed objects such as communication equipments and communication services on the basis of an instruction from a management manager and, particularly, to a network management system capable of extending or deleting management functions without interruption of a system operation and capable of performing a conversion between a plurality of management protocols.
2. Description of Related Art
In order to operate physical objects to be managed, such as communication equipments and communication services within a communication network, a network management system has been known in which physical objects to be managed are abstracted as managed objects and a lower layer is operated correspondingly to an instruction which is one of the managed objects from a management manager which is an upper layer.
FIG. 47 shows an example of a management protocol conversion in a conventional network management system. This conventional example is disclosed in Japanese Patent Application Laid-open No. Hei 7-321885 and is constructed with a managed object 4001 which is an upper layer managed object capable of being operated by a management manager according to a protocol xe2x80x9c1xe2x80x9d, a managed object 4002 which is a lower managed object a management agent of which can be operated by a protocol xe2x80x9c2xe2x80x9d, a managed object 4003 which is a lower layer managed object a management agent of which can be operated by a protocol xe2x80x9c3xe2x80x9d and a managed object 4004 which is a lower layer managed object a management agent of which can be operated by a protocol xe2x80x9c4xe2x80x9d.
When the managed object 4001 which is the upper layer managed object is accessed from the management manager by using the protocol xe2x80x9c1xe2x80x9d, the network management system disclosed in Japanese Patent Application Laid-open No. Hei 7-321885 identifies a management operation for the lower layer managed objects 4002, 4003 and 4004 by referring to an information describing a relation between an upper layer managed object name and a lower layer managed object name, which is held by the system. Further, the network management system has an information related to the kind of protocol for operating the lower layer managed object name and issues an operation request to the management agents by using the protocol xe2x80x9c2xe2x80x9d for the managed object 4002, the protocol xe2x80x9c3xe2x80x9d for the managed object 4003 and the protocol xe2x80x9c4xe2x80x9d for the managed object 4004, as shown in FIG. 47. The protocol conversion is realized by converting the name of the managed object which is the upper layer managed object and has the protocol kind into names of one or more managed objects which are the lower layer managed objects, in this manner.
FIG. 48 shows an example of a conventional management function extension/deletion of a network management system. This example is disclosed in Japanese Patent Application Laid-open No. Hei 8-314836 and is constructed with an operator and management application 4101, a management service object 4102 and managed objects 4103, 4104 and 4105.
The management service object 4102 is conducted to define only actions between the managed objects 4103, 4104 and 4105 and the management application 4101 and is described as a sequence for referring to a table containing parameters necessary for operations for the respective managed objects. In the example shown in FIG. 48, a sequence of a name of table storing an information for performing an operation to the managed object 4103, a name of table storing an information for performing an operation to the managed object 4104 and a name of table storing an information for performing an operation to the managed object 4105 is stored in the table as an action of the management service object 4102.
In the network management system disclosed in Japanese Patent Application Laid-open No. Hei 8-314836, when the management application 4101 requests an action operation of the management service object 4102, the table registered as the action of the management service object 4102 is referred to and the management operations are executed in the assigned sequence while referring to the tables storing the operation parameters. Further, this network management system provides a function of dynamically rewriting updates of the registered tables.
However, the above mentioned prior art has some problems.
A first problem of them is that a change of a managed object definition (program abstractedly indicative of a management subject) is impossible in extension/deletion of the management function. The reason for this is that, in the technique disclosed in Japanese Patent Application Laid-open No. Hei 8-314836, subjects are objects (only action operation is executable) of the kind different from the managed objects and the managed object definition is unchangeable.
The second problem is that only operation in managed object unit is permitted for both function extension and protocol conversion. The reason for this is that, in the technique disclosed in Japanese Patent Application Laid-open No. Hei 8-314836, the descriptive capability is limited to a command sequence stored in a table for the purpose of easiness of program development and only correspondence table for each managed object is defined.
The third problem is that it is impossible to guarantee a consistency for one operation from a management manager. The reason for this is that the standardized existing management protocol does no define semantics of a transaction processing.
The fourth problem is that a memory amount required for conversion between a plurality of management protocols is large. The reason for this is that, in the technique disclosed in Japanese Patent Application Laid-open No. Hei 7-321885, a correspondence table of operations converted is produced every managed object instance.
The fifth problem is that the manager can not assign a timing of update of table storing the operation parameters every management service object. The reason for this is that, in the technique disclosed in Japanese Patent Application Laid-open No. Hei 7-321885, the update timing of the table storing the operation parameters is only when the action operation of the management service object is requested.
The sixth problem is that a start time of the action operation of the management service object is long. The reason for this is that, in the technique disclosed in Japanese Patent Application Laid-open No. Hei 7-321885, the table storing the operation parameters is newly generated every time the action operation of the management service object is requested.
An object of the present invention is to provide a network management system in which, when looking from a management manager, the managed object definition can be changed without interruption of a system operation.
Another object of the present invention is to provide a network management system capable of defining a managed object operation having high function for both function extension and protocol conversion.
A further object of the present invention is to provide a network management system which can always guarantee a consistency of management operations for one operation from a management manager.
Another object of the present invention is to provide a network management system in which a required memory amount is saved to make a protocol conversion possible.
Another object of the present invention is to provide a network management system in which the update timing of managed object can be freely assigned according to each managed object.
Another object of the present invention is to provide a network managed object in which operations of managed objects can be executed at high speed.
A network management system according to the present invention, which, in order to perform a use and maintenance of a communication network, executes managed objects obtained by abstracting physical subjects to be managed, on the basis of an instruction from a management manager which manages management operations, is featured by comprising means for receiving the managed objects instructed by the management manager from the management manager or an object server which is provided separately from the management manager and stores a group of managed objects and for executing them. That is, by executing the managed objects transferred from the management manager or the object server, which is provided externally of the communication system, it is possible to perform an addition and/or change of the managed object definition.
The managed object preferably includes managed objects obtained by abstracting the group of managed objects as subjects to be managed with respect to a management agent fixedly storing one or more managed objects and the network management system preferably comprises means for requesting a corresponding management agent to perform an operation requested from a management manager by executing a managed object transferred according to an instruction from the management manager and interpreting/editing a notice from the management agent and notifying it to the management manager. That is, even when the system is constructed to interface between the management manager and the management agent, it is possible to perform an addition/change of the managed object definition by transferring the managed object having the group of managed objects held by the management agent as the subjects to be managed externally and executing it.
The network management system according to the present invention can be constructed with a machine dependent portion which is dependent upon the kind of a communication device or a computer by which the managed object is executed and a machine independent portion which is independent from the kind of device. Thus, the network management system is operable in a communication device or a work station, whose machine independent portion has various softwares.
In such case, the machine independent portion may include a function execution portion for performing a managed object transfer/execution processing and an interface processing between the management manager and the management agent and a plurality of protocol processing portions for processing an exchange of request message and response message according to a plurality of respective communication procedures determined for the management manager and the manager agent. By performing mutual operations with respect to the plurality of protocol processing portions by the function execution portion, it is possible to uniformly handle the plurality of management protocols.
The function execution portion may include an extended function execution portion for adding/updating a managed object transferred from the management manager or the object server and controlling an execution of the transferred managed object and a managed object control portion for receiving a request message of a management operation, judging whether a behavior program is performed every managed object unit operation by dividing the management operation to operations in managed object unit or an operation request is performed to the management agent by using the protocol processing portion, and, when the operation request is to be performed to the management agent, for performing the execution control of the management operation by selecting one of the protocol processing portions. In this case, the network management system operates such that the addition/change of the managed object definition becomes possible and the management operation is realized at high speed, by assembling the definition information of the managed object and the behavior program with an interpreter language by holding and updating them by the extended function execution portion and assembling the operation of the extended function execution portion with a compiler language by controlling it by the managed object control portion.
The extended function execution portion may include a behavior execution portion which stores a behavior program describing one or more operations to one managed object or a group of a plurality of managed objects held in a management agent or the network management system, performs an addition/update of the behavior program and executes the added/updated behavior program according to a request from the managed object control portion, and provides a response of a result of the execution and a definition information management portion which holds a definition information of managed objects, refers/updates the definition information according to a reference/update request of the definition information and, in a case of update, notifies a result of update to the managed object control portion.
The definition information management portion may include a definition information storing portion for storing a definition information related to attribute/notice/kind of action of managed object and data structure thereof, a reference portion for receiving a reference request to the definition information, accessing the requested definition information from the definition information storing portion on the basis of the reference request and transmitting the requested definition information as a response, an update portion for receiving an update request to the definition information, executing an update of the requested definition information with respect to the definition information storing portion on the basis of the update request and transmitting a result of the execution as a response and a notice portion for notifying an information of the definition information update by the update portion to the managed object control portion.
The behavior execution portion may include a behavior program storage portion which stores a behavior program which describes one or more operations for one managed object or a group of managed objects which is managed by a management agent or the network management system correspondingly to the attribute/notice/action of the managed object and is capable of being updated/added/deleted, a behavior program execution portion for providing an environment in which the behavior program operates, monitoring whether or not all of the operations described in the behavior program and performing a confirmation processing when all operations are successful and, otherwise, a cancellation processing, a definition change receiving portion for receiving an information related to a definition change from the definition information management portion, an object access portion for receiving a behavior program execution request from the managed object control portion and an activation control portion for performing an update of the behavior program corresponding to a behavior program update request from the definition change receiving portion, an activation of the behavior program according to the behavior program activation request from the object access portion and a transmission of a result of the operation of the behavior program to the object access portion.
The activation control portion may include behavior program temporary storage means for storing the behavior program and a behavior program state information, behavior program update management means for receiving the behavior program updated by the management manager from the definition change receiving portion and storing it in the behavior program storing portion, performing an addition and a deletion of the behavior program stored in the behavior program temporary storage means, updating the behavior program state information and holding and updating a behavior program update information which is an information related to the behavior program stored in the behavior program storage portion, and behavior program execution control means for activating the behavior program stored in the behavior program temporary storage means, requesting an execution of the activated behavior program to the behavior program execution portion, transmitting an update request of the behavior program to the behavior program update management means after an operation of the activated behavior program and when the behavior program execution portion erases the behavior program, referring and updating the behavior program state information which is an information related to the behavior program stored in the behavior program temporary storage means and receiving the behavior program start request from the object access portion and transmitting a result of operation of the behavior program to the object access portion.
It is preferable to update the behavior program by forming individual name spaces, newly forming a class loader having a function of storing a behavior program in a memory from a disk and newly storing the start requested behavior program in a memory from a disk by the class loader, every time when the behavior program execution control means receives the behavior program start request.
In this case, it is preferable that the behavior program execution control means selects a class loader adapted to store the start requested behavior program from the group of the class loaders in operation in a list containing names of other behavior programs to which the behavior program refers and the behavior program is updated by newly storing the start requested behavior program in the selected class loader.
The managed object control portion may include an active object execution portion for requesting the behavior execution portion to access the managed object having the behavior execution portion storing the behavior program, a remote object execution portion for accessing a management agent storing a managed object in order to execute a management operation, a definition change receiving portion for receiving a notice related to a content of a change of definition information from the definition information management portion, a managed object access portion for receiving an operation request with respect to one managed object, an agent access portion for receiving an operation request for one or a plurality of managed objects and a management operation execution control portion for, when a request is received from the definition change receiving portion, performing a change of data defining a managed object, for, when a request is received from the managed object access portion or the agent access portion, selecting one or more managed objects which are subjects to be operated on the basis of the request and determining whether a processing is requested to the behavior execution portion with respect to the respective managed objects or an operation request is made to the management agent by using the protocol processing portion and for, when an operation request is to be made to the management agent, determining one processing portion of the plurality of the protocol processing portions which is to be utilized, requesting a preparation of execution to the active object execution portion or the remote object execution portion and requesting an execution definition or an execution cancellation to the active object execution portion or the remote object execution portion on the basis of a synchronous or optimal mode assigned as an operation parameter.
The management operation execution control portion may include a definition table management portion for holding an information related to attribute/notice/action defined in the managed object and performing a reference/update processing, a managed object relation management portion for holding an information indicative of a relation between a plurality of managed objects which are subjects to be operated and performing a reference processing, an operation division portion for accessing the managed object relation management portion from the parameter assigned by the management operation and determining a plurality of managed objects which become subjects to be operated, an exclusive control management portion for holding an information indicative of that the managed object to be operated is already being operated in executing the management operation, newly adding a managed object when an operation request is to the managed object which is not being operated and providing a response indicative of that a managed object is being operated to an operation request when the operation request is to a managed object which is being operated, an operation execution portion for executing a plurality of managed objects which are determined by utilizing the operation division portion and the exclusive control management portion as operable subjects to be operated while temporarily holding results of operations and an operation control portion for, in order to execute operations received by the managed object access portion or the agent access portion, newly producing the operation execution portion and requesting an execution, holding a dependency of management operations recursively generated from one management operation and requesting an instruction of a reference to an intermediate result and a deletion request to the operation execution portion.
In the construction mentioned above, a managed object is preferably constructed with a behavior program describing a behavior of the managed object with a language executable by an interpreter and an active object which is a compiled program and holds a definition table which is data describing a correspondence between the behavior program and attribute/notice/action defined by the managed object, an information related to a name of the managed object, an information indicative of a relation to other managed objects and an information related to a pointer to the definition table indicative of definition items of the managed object.
In this case, the active object operates such that the attribute/notice/action defined is identified by referring to the definition table, an identifier (referred to as xe2x80x9cIdxe2x80x9d, hereinafter) of the behavior program described with an interpreter language is acquired, a processing such as a value acquisition related to an attribute/notice/action whose operation is requested next is performed and a response is provided to the management operation by executing the behavior program. Further, since the definition table is data referred to from the active object, it is re writable according to a definition change and, since the behavior program is described with the interpreter language and re-writable, the definition and the behavior of the managed object can be changed without interruption of the system operation.
In a case where a relation data of the managed object held in the managed object relation management portion handles an inclusion relation between two managed objects, it is preferable to construct the relation data such that it has a tree data composed of a route indicative of a top of the tree, a node representing an active object and a node of a virtual object representing a remote object which is necessary to construct a name of the active object and whose subject exists in the management agent.
In this construction, when a definition change of managed object and/or an addition of managed object is performed, a memory is saved without holding information corresponding to all remote objects having subjects existing in the management agent by adding a node corresponding to the active object to the relation data and adding virtual objects which includes the added active object and whose subjects exists in the management agent to the relation data as nodes.
The operation division portion receives the parameter of the management operation and can change the received management operation by listing managed objects to be operated on the basis of the relation data held in the managed object relation management portion, listing active objects when all of the listed managed objects are the active objects, outputting the received operation as it is when all of the listed managed objects are the remote objects and listing the active objects and outputting a new operation obtained by adding a filter condition for preventing an access to the remote objects corresponding to the active objects to the received management operation when the active objects and the remote objects coexist in the listed managed objects. Thus, it is possible to reduce the number of operation request transmissions to the management agent to thereby perform the protocol conversion processing efficiently.
The CORBA (Common Object Request Broker Architecture) can be used as a common object computing platform for communication between the protocol processing portion, the definition information management portion, the behavior execution portion and the managed object control portion. With the CORBA, it is possible to distribute and operate the respective function modules with high mutual connection.
By describing the behavior program with the script language such as Java or Tcl whose grammar is simple and which is de facto standard, it is possible to execute the behavior program on various hardware/OS platforms.